SparkN0de-git
docs/en/audio-calls.md 7a02eae651e4ffbcebd359f86d665d3cf509b5d9 (7a02eae6) Text, 2.86 KB
Tc9d1d9# Audio calls (LXST)
MeshChatX uses LXST for voice telephony over Reticulum. Telephone functionality is optional and controlled per identity in settings.
Tc9d1d9## Enable telephony
Turn on **telephone** in settings before using the **Call** page. MeshChatX announces your callable destination under aspect Ta5d6ff`lxst.telephony` when announcing is enabled.
Peers who announce the same aspect appear as callable contacts.
Tc9d1d9## Placing and receiving calls
From **Call** or a contact entry you can:
Tff7b72- **Dial** another identity by hash
Tff7b72- **Answer** or **decline** inbound rings
Tff7b72- **Hang up** an active session
Tff7b72- **Mute** transmit or receive paths
Call state changes arrive over the WebSocket (Ta5d6ff`telephone_ringing`, Ta5d6ff`telephone_call_established`, Ta5d6ff`telephone_call_ended`, and related events).
Tc9d1d9## Audio path
The frontend loads Codec2 assets for voice encoding (Ta5d6ff`Codec2Loader.js`). Browser and Electron builds use a Web Audio bridge at Ta5d6ff`/ws/telephone/audio`. Packaged desktop builds bundle the backend that negotiates LXST sessions.
Tc9d1d9## Voicemail
When you miss a call, voicemail may be offered depending on settings:
Tff7b72- Record a custom greeting
Tff7b72- Upload or generate greeting audio
Tff7b72- Play back messages left for you
Voicemail events surface as Ta5d6ff`new_voicemail` on the WebSocket.
Tc9d1d9## Call history and recordings
The **Call** area keeps history of placed, received, and missed calls. You can record calls when the feature is enabled and policy allows storage on your device.
Tc9d1d9## Ringtones
Upload custom ringtones and assign them per contact. Default sounds are used when no override exists.
Tc9d1d9## Do not disturb and contacts-only
Settings support:
Tff7b72- **Do not disturb** to silence inbound rings
Tff7b72- **Contacts-only** mode to reject calls from unknown hashes
Combine these with the **Blocked** list for finer control.
Tc9d1d9## Telephone contacts
Import and export telephone contacts separately from LXMF conversation peers. Contacts drive caller display names and ringtone overrides.
Tc9d1d9## Call setup flow
Ta5d6ff```
Caller UI: initiate call
|
v
GET /api/v1/telephone/call/{identity_hash}
|
v
LXST Telephone session over Reticulum
|
+--> Signalling and media via LXST
|
+--> /ws/telephone/audio (browser audio bridge)
|
v
Callee UI: ring, answer, or decline
```
Tc9d1d9## Tips
Tff7b72- Verify **Interfaces** and paths before troubleshooting audio quality. Packet loss on the mesh affects voice.
Tff7b72- Use headphones on mobile and Quest builds to prevent echo.
Tff7b72- Review microphone permissions in Electron or the Android system settings if the UI shows no input level.
Tff7b72- Keep LXST and Reticulum versions aligned with MeshChatX release notes when upgrading.
Tc9d1d9## See also
Tff7b72- **LXMF messaging** for text conversations with the same peers
Tff7b72- **Identities, privacy, and security** for HTTPS and local access controls
Tff7b72- LXST project documentation for codec and session details
Served by rngit 1.5.2 - Generated in 0.08s